home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Multimedia Toolkit 2
/
Multimedia Toolkit 2.iso
/
imagine
/
imagine.compendium
< prev
next >
Wrap
Text File
|
1991-07-01
|
67KB
|
1,336 lines
The Imagine Compendium
(3/15/92)
edited by Sandy Antunes (antunes@astrod.astro.psu.edu)
This collection consists of postings to the imagine mailing list. If
you wish to join this list, contact Steve Worley, spworley@athena.mit.edu,
our most excellent moderator.
The posting here represent people's suggestions, advice, and ideas.
This posting is freely redistributable except that it may not be sold or
distributed for profit. I have tried to keep citations of the original
authors with each posting, and have including a list at the end of several
of the poster's email addresses. However, I have edited many of the postings,
most notably in taking out chunks of intro header, quoted earlier postings,
and .sig files. I take responsibility for any muddling of information this
may cause. Neither I nor the original authors are liable for damages,
however-- you use this collection at your own risk. :)
If anyone notices an error or an incorrect citation, please email me
(antunes@astrod.astro.psu.edu) so that I may change this for future versions.
In general the latest version will be posted to abcfd20.larc.nasa.gov
(128.155.23.64) in the /incoming/amiga/3d/Imagine directory under the
name ImagineComp.##x, where ## is the year of that edition and x is the
version: a,b,c, etc. I will announce when a new version is posted to the
imagine mailing list. I do not expect to update this terribly frequenty,
perhaps every few months.
Partial List of Quoted Contributors (Please send me corrections!)
Doug Bischoff , TRI (deb110@psuvm.psu.edu)
David Coughran (drc@koko.csustan.edu)
Mike Halvorsen
Glenn Lewis (glewis%pcocd2.intel.com@Relay.CS.Net)
Stephen Menzies (S.Menzies@CAM.ORG)
Richard Nollman
Helge Egelund Rasmussen (her@compel.dk)
Dave Schreiber
Udo Schuermann (walrus@wam.umd.edu)
Sean Schur, California Institute for the Arts (schur@isi.edu)
Scott Sutherland (sutherla@qtp.ufl.edu)
Mark Thompson, Radiant Image Productions (mark@westford.ccur.com)
Steve Worley (spworley@athena.mit.edu)
Kevin (pawn@wpi.wpi.edu)
(davis@soomee@rust.enet.dec.com)
(denbeste@ursa-major.spdcc.com)
(echadex@carl.org) Colorado Alliance of Research Libraries
======================== INDEX ==========================================
I. Anti-Aliasing (and the dreaded jaggies)
II. Attribute Fixes (avoiding weird effects)
III. Attributes List (including 2 different glass)
IV. Attributes, Source for (text reference books)
V. Brush Wraps I (wrapping to a flat plane)
VI. Brush Wraps II (the 3 basic kinds of wraps)
VII. Brush Wraps III (wrapping to a Coke can)
VIII. Brush Wraps IV (axis placement and wrapping modes)
IX. Bump Mapping I (bump mapping IS altitude mapping)
X. Bump Mapping II (vs. displacement mapping)
XI. Bump Mapping III (still vs. displacement mapping)
XII. Camera Focal Length (and how to change it)
XIII. Coordinates (finding them, and using TTDDD)
XIV. Cycle/Detail Groups (loading full objects into cycle editor)
XV. Glass (the art of glass)
XVI. Merge (how to use it!)
XVII. Metals (how to set attributes for them)
XVIII. Paths (simple advice for extrusions)
XVIX. Rendering Time (what increases it)
XX. Resizing Objects (undocumented way to avoid problems)
XXI. Retracking the Camera (really quickly!)
XXII. Skin (how to use it!)
XXIII. Slice (how to use it, too!)
XXIV. Snapshot I (what it does)
XXV. Snapshot II (an example and problem solution)
XXVI. Texture Axis (how to set it up)
XXVII. World Size (how to change it)
XXVIII. Worley Project One (a way-cool idea)
XXVIX. Worley Project Two (a large project with many ideas)
-----------------------------------------------------------------------------
ANTI-ALIASING
>Question 3 (last one for now): I noticed the dreaded jaggies on the mirrored
>ball that fills the screen mentioned above. Is there anything I can do to
>avoid them? I had thought that closeups on spheres (even in ham resolution)
>made it easier for the software to compensate for jaggies (more pixels in
>the curve). Will 24-bit rgb color (Colorburst) seriously reduce the jaggies
>even in HAM resolution (320x400)?
The .config file for anti-aliasing defaults to 30. This is ok, but not
great. The best is 0 and final rendering should always be 0. So you must
edit this file everyso often (before opening Im) or build a front end
on the work bench (requires programming knowlege, though). Btw , the
anti-aliasing is EDLE in .config file.
(Stephen Menzies)
-----------------------------------------------------------------------------
ATTRIBUTE FIXES
I've noticed areas of discoloration on objects of mine as well. I've found
that going into the attributes editor and reseting all the unused attributes
to zero solved my problem (for example, as part of a recent still-life,
I made a flat box with a wooden texture. The only attributes I set were
color, dithering, and Texture 1. When I rendered the image, one face of
the box was purple. I went back and set set the other attributes to zero
explicity; the box then rendered perfectly). It appears that there is
a bug in Imagine's `defaults' handling that causes weird things to
happen if attributes aren't explicity set.
(Dave Schreiber)
-----------------------------------------------------------------------------
ATTRIBUTES LIST
Here are some nice attributes: use them as you will:
Black Gloss: (fururistic- looks sleek. Shine & reflect can be boosted.)
Color 15 15 15
Reflect 40 40 40
Filter 0 0 0
Specular 255 255 255
Dither 255
Hardness 200
Roughness 0
Shininess 100
Brick (red clay with mortar type) ->very nice.
C 112 11 5
R 0 0 0
F 0 0 0
S 155 70 31
D 255
R 118
Sh 0
Brick Texture:
Size 24 14 5
Mortar: 1.1
Xshift 12 12
Zshift 2.5
mortar color 60 60 60
Chrome (mediocre quality, needs tweeking)
C 60 60 80
R 240 240 255
F 0 0 0
Sp 240 240 255
Dith 48
hard 247
rough 0
shine 177
Glass (beautiful! has just the right tint)
C 31 28 86
R 45 45 65
F 235 235 255
Sp 255 255 255
Dith 48 ?
hard 230
Rough 0
Shine 0 <=- CRITICAL
Index of Refr 1.50
Sandstone (great color, surface. Bands from wood texture can be played with)
Color 152 94 70
R 0 0 0
F 0 0 0
Sp 197 76 74
dith 255
hard 43
rough 125
shine 0
texture: wood
colr 118 50 30
ring sp 10
expon 7
variat .97
random seed (pick!)
Battleship grey paint (neutral. OK.)
color 104 104 104
Ref 30 30 30
F 0 0 0
Sp 130 130 170
dith 255
hard 162
rough 10
shine 30
(Steve Worley)
-----------------------------------------------------------------------------
Glass II
No problem. For a colorless clear glass, try somethingh like this:
Color: 230, 230, 240 (only a slight blue tint)
Diffuse: 70%
Specular: 100%
Highlight Size: High
Color Highlight: Off
Transparency: 95%
Reflectivity: 30% (optional if you have an image or background to reflect)
Edges: Opaque
Smoothing: On
By making the surface nearly completely transparent but making the edges
opaque, it gives the appearance of a glass object rather than an object
that is just fading out. Also note that when creating glass objects, you
must pay attention to interior polygons that might otherwise not be
rendered because of back-face culling. For example, if you create a glass
sphere, you must create it with 2 sided polygons so that the back of the
sphere is visible through the transparent front.
Hope this helps.
(Mark Thompson)
-----------------------------------------------------------------------------
ATTIBUTES (SOURCES FOR)
To truly mimic materials such as the ones you mentioned requires calculations
and parameters that most renderers do not take into account due to both
user complexity and computational expense. For a really good discussion
on this topic including a survey of common rendering equations and a possible
solution see the November 1990 IEEE Computer Graphics & Applications article
"A Realistic Lighting Model for Computer Animators" by Paul Strauss.
However, Imagine does have have enough available parameters to do a fair
job. "Illumination and Color in Computer Generated Imagery" by Roy Hall is
an excellent book for describing the problem of realistic surface rendering
and has a number of tables, plots, and guidlines for rendering various
materials. In Hall's book, he references Purdue University (1970)
"Thermophysical Properties of Matter", Thermophysical Properties Research
Center, for the various spectral curves and data for a multitude of
materials. Another possibility would be to check the book written for
Turbo Silver users (I think its by Victor Osaka but I'm not sure) but
I don't know if it covers this topic. Finally, a good rule of thumb for
metals is to keep the spectral and reflected colors close to the surface
color, don't overdo the reflectivity, and use a moderate hardness.
(mark thompson)
-----------------------------------------------------------------------------
BRUSH WRAPS I
I had similar problems wrapping brushes on to flat planes until I
discovered something that the manual isn't too clear on. Try the
following example yourself to illustrate the (serious) caveats of brush
mapping (example assumes default function key mapping):
In the detail editor:
Select Add/Primative/Plane, and except the default plane configuration.
Select it with [F1], and edit its attributes with [F7].
Select [] Brush 1, and an appropriate IFF from the requester.
When the Axis editing requester appears, select "Edit Axis".
A yellow square appears in the "Front View", and a line in the other two
views.
Press [M] to move the axis, and drag it (in the Front View) so the center
point is just outside of the lower left hand corner. The "Front" display
will now look something like:
z
---------
| : |
| : |
| .===|x
--|-- |
| | | |
| .==-----|
| |
-----
Where the smaller square is the yellow brush axis. Note also that in
the top view, the two X axes are directly on top of each other (you may
have to be zoomed in before you begin to see this). Here lies the first
problem. Apparently, in order for Imagine to wrap the brush correctly
on to a surface, the brush axis must be offset slightly to one side or the
other. Before we do that, SCALE the brush with the "S" command so that
the top right quadrent (the positive axes) encompass the entire plane.
Now go to the top window and MOVE the yellow x-axis to at least 1 pixel
below the orange axis. You'll note that it also moves one pixel in
front of the orange axis in the right view. It is important that you
remember which face is the "front" of your plane. In my test renderings
you see a blotchy-patchy IFF from the other side. You will see this
same problem on both sides if you let the X axes sit on top of each other.
With all of that completed, press the space bar to return to the
requester, and select [OKAY] to return to the Attributes requester. To
get the best image, turn "Dithering" way down (I usually set it to
zero), and select [OKAY]. Save your object, and move to the stage editor.
At this point, the only thing you have to remember is which was the
"front" of your object, and make sure the camera is pointing at it.
For other objects, just remember that the positive portion of the brush
axes is the part that contains the image. It is this top right quadrant
(from the Front view) that must be enlarged and centered on the object.
(????- Mike Halvorsen?)
-----------------------------------------------------------------------------
BRUSH WRAPS II
First off there are three basic kinds of wraps and they all have to do with
the axis of the brush itself. These types are:
Wrap X and Wrap Z, Wrap Z Flat X and Flat X Flat Z. You may notice that It
seems that I have left Flat Z Wrap X out, I hardly ever use this type because
I can do the same thing with Wrap Z aand Flat X.
The brush that is loaded when you tell it to assign a brush to an object is
brought in at the center of the axis. IT is mapped in from the center and
moves outward in the positive direction of the Z and X axis. The Z is the
vertical of the picture and the X is the Horizontal of the picture.
The simplest wrap that you can do is the Flat X and Z. It truly is the
easiest of them all.
Assume for a moment that you want to put a picture on a flat object, this
object could have depth to it or it could be a single pixel in depth, it
makes no real difference.
You assign the brush ( IFF picture) that you want in attributes reqeuster,
then go to edit axis. The frist this that you want to do is move the
axis of the brush to the lower left corner of the object. This assumes that
the object is a simple flat object that is oriented as the axis is, by this I
mean that it looks like a wall in the front view as opposed to lying down
like a plate on a table. The Z axis of your brush should run right up the
left side of the falt object and the X axis should be just below (two or
three pixels.) the flat object. Now you must scale the Z and the X axis to
be slightly larger than the object itself. If you had a square that was
100 by 100 units then the brush axis might be 105 by 105. In this manner
you can be sure that when you palce the brush axis at the lower left hand
corner of the flat object that it will cover it like a blanket. All of this
can be done from the front view. When you scale an axis in Imagine you must
be in the LOCAL mode not WORLD mode. Repeat,,,,, LOCAL, get to this mode
after you choose, scale and then choose local. Only the aixs will grow when
you do the scale and the bounding box will just hang out and look stupid.
>From the right view you must move the axis negative in Y, just a couple of
pixels. THis moves the brush off the face of the object so that it dosen't
get stuck on the objects face plane and look just horrible.
In Turbo Silver you never had to worry about the size of the Y axis. In
Imagine you DO. The Y axis defines the depth of the brush or map. If you
want to make a decal on something that has more than one side or depth, say
the side of a truck. You want to put your companies logo there, but you
only want it on one side. No problem, position the brush axis where you
want it to appear and then decrease the size of the Y axis to be smaller than
the depth of your object. It will appear on one side of the object and not
the other.
This is also where it seems that many folks are getting all horsed up when
they try to make what I call, World and Can wraps using the wrap Z option.
To make a world wrap (make a sphere look like earth from outer sapce) you
first need a good map image. (even if you have a bad image the same applies)
With the brush assigned to your object move the axis to a couple of pixels
below the sphere, scale the Z axis in LOCAL mode to be just a bit larger
than the sphere itself. From the fron view it should look like a line from
the bottom of the sphere to the top right in the middle of the sphere. OK
now scale the X axis to be from it present location just slightly larger than
half of the sphere. It should be a couple of pixels larger than the radius of
the sphere. NOW Pay attention my friends. If the Y axis is larger than the
sphere what do you think will happen ? Of course, you just learned that the
Y axis has DEPTH and if you make it larger than the sphere it is going to do
something that you won't be able to see. It is going to wrap the image at the
end of the Y axis and if the axis is larger than the object, it is going to
put the picture wrap outside of the object, in no wrap land. To make this
go away all you have to do is make the Y axis smaller than the object. I
just make the axis 1 or 2 untis in size and forget about it. Make sure that
you choose Wrap Z Flat X or Wrap Z Wrap X. YOu can decide which you like
better for planets and other heavenly bodies.
The last kind of wrap is the CAN wrap as I call it. You know where you want
to wrap the coke logo around a tube or can like object. Do the same thing for
the CAN wrap as you did for the sphere or global wrap. Position the brush
axis in the same place and make sure that the size of all the axis are the
same as in the sphere wrap. The only real difference here is to make sure
that you only choose Wrap Z Flat X, all other wraps will look real spooky.
See now that wasnt so bad was it. I hope this will help you in your
journeys through your own imagination. The best answer to all questions
that pertain to Imagine is ...... EXPERIMENT, EXPERIMENT and do it again.
Like you I have learned the same way that you are now learning. I tried
and tried and then did it again. I dont think much about it anymore cause
I have found what I like. You need to do the same.
Have Fun and ENJOY
(Mike Halvorsen)
-----------------------------------------------------------------------------
BRUSH WRAPS III
Reading of the trials and travails some of you are having with wrapping
labels on Coke cans, I decided to try it for the hell of it.
Anyway, I didn't have any Coke label IFF's so I used a Sports Illustrated
swimsuit IFF I had lying around - and got it working.
After I post this, I'll be uploading an archive containing a working wrap
that you can look at. One thing I found counter-intuitive:
If the tube is one from the "primitive" menu, then it is symmetrical by
rotation around Z. In that case, the proper settings are:
Flat X
Wrap Z
The size of the brush is also somewhat counterintuitive:Given these settings,
the X size of the brush doesn't matter: The IFF is stretched to meet on the
back of the tube no matter what the brush X size is.(Except that for
reasons I don't quite understand, sometimes when I set it big the brush
went away entirely. So I didn't change it from its default size.)
However, the Z size is extremely important, as you'll see if you examine my
object.
(denbeste@ursa-major.spdcc.com)
-----------------------------------------------------------------------------
BRUSH WRAPS IV
While I do NOT profess to be an expert on brush wrapping, let me
tell you what I can from 1) experience and 2) and article by Leo Schwab
in an old issue of .info (I'll look up the issue and page number if anyone
wants, but I THINK that it is the first or second PURELY AMIGA issue).
The axis placement for Flat X, Flat Z is CORRECT. However, the axis placement
you used for the other three is what is causing the problem. Think of it
like this. Imagine (no pun intended ;^) a soda can which is cylindrically
symmetric about the Z axis (standing upright in the FRONT view of Imagine).
You want to wrap a Label about it. To do this you want to take advantage of
the cylindrical symmetry. Below I will also draw spheres for comparison with
the original posted question.
CAN: Flat X, Wrap Z
Z
--|--
| | |
| | | Front View
| | |
| | |
| | |
---|---
-----X
Y
|
-
( |_)__X Top View
-
CAN: Wrap X, Flat Z (Note: not appropriate for putting a label on a can):
Z
| -----
|| |
|| | Front View
|________X
| |
| |
| |
-------
Y
|
| -
|(---)-X Top View
-
For spheres it is basically the same:
SPHERE: Flat X, Wrap Z:
Z
|
-
( | )
_
+-----X
Y
|
-
( |_)__X
-
I'll leave out Wrap Z, Flat X for spheres. PLEASE NOTE THE FOLLOWING. Some
of the above diagrams are misleading because of limitations in ASCII graphics
representations. One, the Bottom of the Z axis in the FRONT view of both
examples of Flat X, Wrap Z should be JUST below the object's lower extent (Z).
Secondly, the Top of the Z axis in these two views should be JUST above
the top if the object's upper extent (Z). The X axis in these two examples
should extend JUST beyond the outer X dimension of the object (although
I've heard differing opinions on this point). FINALLY, as you may have seen
here before, the Y-axis dimension (see TOP View) in Imagine HAS an effect
on the wrapping process (apparently not true in Turbo Silver). Set the Y
axis length to 1-2 units just to be safe.
Definitely Check out Leo's article. It IS for Turbo Silver, but the images
he shows are FANTASTIC as conceptual aids for understanding what these wrapping
modes do. I reproduced all of the images in both TS and Imagine.
As for Wrap X, Wrap Z, I do NOT know why this was included in the software,
as I have found NO use for it. Leo was just as baffled. Any comments???
Hope this helps. Let me know if you need the .INFO issue number.
Scott Sutherland
-----------------------------------------------------------------------------
BUMP MAPPING
It appears that there is some confusion about Bump mapping and Altitude
mapping. Let's see if this clears it up:
Imagine's "Altitude Map" *IS* bump mapping. It involves using
an IFF picture to specify at which locations the surface normals are
altered. This does not create an actual pitted surface, or actual 3D
alterations, but it does create a good illusion of these. It works
best on very small alterations, such as the pits in an orange peel.
Don't expect good results with it, trying "stamp" your big initials
into an object, and don't even try to grow "spikes" out of the object
using this technique.
As Altitude Maps (Bump Maps) use your own IFF creations, there is none
of the uncontrolled randomness that you get with Roughness. They do
not require any "additional polygon detail," either.
(Udo Schuermann)
-----------------------------------------------------------------------------
BUMP MAPPING II
All bump mapping, no matter what system you are on (Amiga or Silicon
Graphics) is only the -appearance- of bumps on a surface. There is
something new, that
only the very high end systems have at this point, called "displacement
mapping". This takes the same signals as bump mapping to do it's work.
i.e. you are mapping an image onto a surface and it knows what is high
or low by the luminance values of the image. The difference is that with
displacement mapping the image you are mapping literally is pulled out and
pushed into the surface of the object. If you are mapping a rose onto
an object (this is one I have seen done), you can turn the object side-
ways and see the various hills and valleys of the rose. With bump mapping,
if you turn the object sideways you still see a smooth surface, even
though from the front it "appears" to have depth.
(Sean Schur)
-----------------------------------------------------------------------------
BUMP MAPPING III
> >Bump mapping = preturb surface normals
> >Displacement mapping = preturb surface polygon vertices
> Could you explain to me what the difference between these two
> is?? To my untrained ear (and graduate school-fried brain) these sound
> similar if not the same.
> Scott Sutherland
No problem. First of all, the lighting/shading of surfaces of a 3D polygon
based object is based upon the surface normals of each polygon and their
angle to the light source(s) and the observer. These surface normals are
computed based on each polygon's vertices. The idea behind bump mapping is
to modify these computed normals based on either some image or procedural
function (ripples, noise, dots, etc.). The net effect is that the shading
of the object gets the bumpy appearance without being bumpy. This is most
effective when using a shading model (like Phong) that interpolates the
normals across the surface of each polygon based on the adjoining polygons
in the object. In this case, every pixel has its own associated suface
normal which can be modified by the mapping function.
Displacement mapping on the other hand physically modifies the actual
vertices of the polygons. The mapping technique is the same, but what is
being modified is different. The displaced vertices will then yield
displaced surface normals which will look bumpy when the shading model
is applied. So in this case not only does the surface look bumpy, it is
bumpy. So if you ignore the coloration/shading and look at a sillohette,
a bump mapped sphere is smooth and round, but a displacement mapped sphere
will be nobby and irregular based apon the function or image used.
The advantages are obvious especially if you want to simulate an uneven
terrain on a flat plain. The disadvantage is that displacements can only
occur at polygon vertices, so if you want to increase the detail in your
bumps, you must also increase the number of vertices (polygons) in the
surface. Since bump mapping works with the normals and not the vertices,
a complex bump function can be created on a single polygon. Just in case
I've confused anyone, here a picture to really mess ya up.
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Surface nornals
____
_____.| |.____ _____.______.____ Actual polygon surface
Displacement mapping Bump mapping
Something else of note, I don't believe there are any existing algorithms
for implementing displacement mapping in a scanline based renderer
(only ray-tracers). The same is true of fur and other 'hypertextures' which
require similar types of rendering methods.
Hope I managed to make this all lucid enough.
(Mark Thompson)
-----------------------------------------------------------------------------
CAMERA FOCAL LENGTH
I discovered (it was in the documentation clearly presented)
that I could change the focal length of the camera by changing the size
attribute in the Action Script for the camera. The X/Y ratio controls the
focal length of the camera. A larger X value creates a wide-angle effect
while a larger Y value creates a telephoto effect. I was impressed.
I was wondering if the Z value has any effect on the camera lens. I tried
several different settings with no discernable change. Any comments?
I tried to change the focal length for a specific range of frames
within an animation, but every time I set new values for X and Y, the
values changed for all the frames. I tried breaking the ranges up by
breaking up the time line into sets of frames (1-10; 11-20; 21-30).
No dice. Has anyone been successful in using different focal lengths
in the same script?
Finally, I discovered something that surprised me. I had been under
the impression that if the camera is outside the world (beyond 8000 on
any axis) that the scene would not render correctly. I had some
instances in my first renderings of the screen being black (dark
gray). An experienced Imagine user told me that my problem was that
my camera was outside the world and when it sent a ray out, it looked
for the end of the world. Since it was already outside the world to
begin with, all rays were recorded as blank (null). I scaled down my
scene and located my camera inside the world and the scene rendered
fine (my first successful rendering). A few days ago I discovered
that placing my camera and lights outside the world rendered fine. Has
anyone had experience with the camera placed outside the 8000x8000x8000
limit of the world?
(Richard Nollman)
-----------------------------------------------------------------------------
COORDINATES
Doug> First and foremost.... how can one get the coordinates out of
Doug> Imagine for the points without going to each one and writing down
Doug> the coordinates?
Piece of cake. Get TTDDD.zoo from ab20.larc.nasa.gov (I think
it is in the incoming/amiga directory).
Type: "ReadTDDD Enterprise.object > Enterprise.ttddd"
Now take a look at "Enterprise.ttddd", and it's got all the
information you need, I believe. Scott mentions some commercial package
that does the same thing. TTDDD, like Scott's, works on Turbo Silver
objects, but it can read Imagine objects, and will simply skip the IFF
"chunks" that it doesn't understand (and will tell you what ones they
are). Whenever I get the Imagine IFF format specification, I plan on
upgrading the TTDDD package.
Disclaimer: TTDDD is ShareWare, written by myself.
(Glenn Lewis)
-----------------------------------------------------------------------------
CYCLE/DETAIL GROUPS
It is possible to circumvent all the problems connected with the proper
setup of a new cycle editor object; this is done by creating the full object
in the detail editor, and then load this object into the cycle editor.
If the object is a grouped object consisting of subobjects, each subobject
will be assigned to its own segment.
It is much more easy to place the subobjects at the correct positions in
the detail editor. When you load the object into the cycle editor,
the only editing commands that you'll need to use is 'pivot' and 'twist'.
The move command will only be used to move the full object.
Here is some 'hints':
- You should NOT group alle the objects together in one go. Instead you must
group the objects together in a lot of steps. Here is an example:
You want to create part of a human object consisting of the following
objects:
a hand,
a arm,
a shoulder,
a body
After placing the objects at the correct locations in the detail editor
you should create the following groupings:
Group the arm to the hand (arm is the 'parent' object)
Group the shoulder to the arm (shoulder is the 'parent' object)
Group the body to the shoulder.
If the shoulder is part of the body object, you should use an axis as the
shoulder. Otherwise the arm would pivot around the body!
- Be sure to place the object so that it is facing in the positive Y
direction.
The stage editor expects this direction, and if you want the object to
follow a path, then the object WILL move in the positive y direction.
- Place the axis for a object where you want a sub-object to connect
to the object. This is necessary as the sub-object will turn around
the axis of the object.
Example, you want to connect a foot to a leg and then to a body:
Be sure to be in 'pick group' mode.
Place the axis of the foot in the toes.
Place the axis of the leg at the bottom of it (you want the foot to
turn about this point).
Place the foot and the leg at the correct positions.
Press the shift key, select the leg, select the foot and group the
objects.
Place the axis of the body at the lower part of the body (you want the
leg to turn about this point).
Press the shift key, select the body, select the leg and group the
objects.
Now save the object. This object can be loaded into the cycle object.
- Remember that it is the 'top' object of the group that will follow a path
in the stage editor. Because of this, you can't move the 'top' object
relative to the path, so it would be a stupid idea to use a real object
as the 'top' object: The solution is to create an axis and group the
final object to this before you save it.
Example:
When you make an object walk, the body is the fixpoint, and the legs
move.
However, if you want the man object to bend over, it is the legs that are
the fixpoint, and the body that move.
(Helge Egelund Rasmussen)
-----------------------------------------------------------------------------
GLASS
The Art Of Glass.
Glass is perhaps the hardest look to perfect. It is obviously a worthwhile
attribute to use, but it is tricky to get it just right.
The first obstacle is just to get it working. The MOST common complaint
is "I can't make ANYTHING transparent". The reason is a bug in Imagine.
ANY shininess in an objects attributes shuts down transparency. You
have to use 0 shiniess. Not a small amount, zero. Only then can you get
it to function.
Transparency is controlled by the filter attribute.The higher the attributes,
th more light of that color gets though. In this way, the name "filter" is
a bad choice in my opinion- to filter light completely, you select 0 0 0.
Good transparency needs a good amount of amplitude. Subtle amouts just do not
show up. For a transparent object, 200 is the smallest I use, but you
can experiment. Objects that you can see clearly through I usually pump
up to 240-255. Also, glass has a SLIGHT bluish tinge, so I use
RGB= 250,250,255. Cherry Jello might be 240, 140, 140.
Glass is a real light reflector- It has very bright, tight highlights.
I crank specular up to 255,255,255, and hardness up to 255. Having soft
higlights looks wrong and also blocks out some of the image coming though.
If you want to use glass, don't forget the index of refraction. The
index of refraction tells how much light bends when it moves from one
media to another. The larger the index, the more the bend at the
intesection. A value of 1.0 makes no bend, and is like air. A value of
2.9 will bend light so far that it's almost unreal. A list of refractive
indeces-
Air 1.02
Ice 1.309
Alchohol 1.329
Water 1.333
Glass 1.50
Quartz & salt 1.644
Diamond 2.417
Remember, setting a sofa to being transparent with an index of refraction of
1.309 will NOT make everyone say "Wow! Its made of ice!" The other attributes
are just as important in giving transparent objects character.
Also, with the index of refraction too high, light coming though will be so
bent there will be no image recognizable. Especially for objects that are
large or complex, a lower index of refraction looks better (and traces
faster!) Anything that is transparent becomes a lens, and a sofa is a
crummy optical instrument. For a transparent sphere, I had to lower the
index to 1.08 to make objects on the other side recognizable.
Roughness and altitude maps are particularly effective with transparent
objects. The direction light bends depends on the surface orientation at the
spot it enters and nothing else. Thus, a rough or altituded (?) surface adds
a lot of effect to the transparent light. Think of a fresh ice cube- you
see a lot of light though it, but the frost on the outside makes it hard
to look at anything THROUGH it. If the frost melts, the outside surface is
smooth, and you can see though the ice pretty easily.
I prefer using a
random altitude map made by using the airbrush in DPaint III than using the
rougness attribute. The reason has to do with roughness being a random
surface direction change (like it should be), but its not consistant from
frame to frame of an anim- it looks like there's lots of bugs crawling on
it, to steal Scott's complaint.
The surface direction is very important to the character or transmitted
light, so Phong shading is very important as well. Phong shading smooths
objects made of polygons into a smooth(er) surface, as opposed to having
faceted sides like a cut jewel. Phong shading is used for determining the
direction light bends, so (just like roughness) it will make the character
of your object change.
A note- If you have any of the objects I put on ab20.larc.nasa.gov, some
objects are NOT phong-shadable. This has to to with them having duplicate
points and edges so Imagine doesn't realize the faces are adjoining. To fix
this, use an undocumented feature in the detail editor, called "Merge" to
merge the dupicate points, then you should be fine. The objects in the
first two files on ab20 are all this way- the files 3-5 I think I caught
most of them and already merged them.
The color that you set glass determines the shade Imagine will give to
non-perfect glass- ie glass without transparency set at 255 255 255. Black
( 0 0 0 ) works well, since then the color doesn't cover up the image.
You can experiment, though.
One last important attribute of glass is reflection. Glass reflects
light a little bit, so should be slightly reflective. Too reflective,
and the transmitted image gets overpowered. Think of a window- you see
though it quite clearly without seeing much reflection. At night, when
there is little light coming though, you can see the mirror-like qualities
of the glass. Transparency should almost always dominate. Good value
for reflection are in the range 30-60, and again, I use a SLIGHT blue tint.
A fun, advanced topic is lenses. You can make them, and they'll actually
work! To make a simple lens, make a primative sphere of a pretty hefty # of
slices and sections (like double the default). Go to "select points"
mode, and use the dragbox to select all but the top 20% of the sphere.
Delete these points. Move the axis to the very bottom of the half-lens
using M (shift-M). Make sure that the axis' Z location is as close to the
Z locaton of the bottom ring of points as you can (important!) Then select
the object, COPY it, PASTE it. There are now 2 identical half-lenses on
top of each other. Select one, then use Transformations to scale it
x=1.0 y=1.0 z=-1.00 mirror reverse it. If your axis is placed right, you'll
have both half lenses sharing the center (previously bottom) row of points.
Select both halves, then JOIN them into a single object, then MERGE them
to get rid of the duplicate points in the center. Set the attributes to
glass, and Voila! a lens! It works! This is a converging (magnifying)
lens, and you can try a diverging lens, though I haven't, yet. The
lens will also take much larger indexes of refraction without munging
the image, unlike the sofa. Quick rules- object far away, you'll see
it upside-down. Too close, it will be really big and out of focus. At
the focal length, it will be in focus and magnified. Focal length
is proportional to R (of the sphere) and the index of refraction. Kinda
advanced, but lotsa fun.
Steve's cool transparent ball-
Color =0 0 0
Transp= 250 250 255
Reflec= 49 49 53
Specular= 150 150 150
hardness= 255 255 255
rough=0
shininess=0 (CRITICAL)
Index=1.08
(Steve Worley)
-----------------------------------------------------------------------------
MERGE
A completely undocumented feature of Imagine! Its called "merge".
I am pretty sure of what it does. Its in the Detail editor, directly below
"join". What it does is takes the selected object, and optimizes it by
removing duplicate points, lines, and faces. Some objects have a LOT.
If you are using any of those objects I uploaded to ab20.larc.nasa.gov,
USE THIS FEATURE. These objects are riddled with duplicate points- They
look fine, but will save much smaller and (most importantly!) will redraw
almost twice as fast when you move or zoom in any of the editors.
Joining seems like it would improve Phong shading- I'll have to check.
Another place where you might want to use this feature is after any
"join", since a lot of edges and points might line up, especially if
you're joining a front and back face to an extrusion.
(steve worley)
-----------------------------------------------------------------------------
METALS:
It seems that after all this time the message on how to make Chrome, Gold
Silver, Brass and other attributes that have a real world quality, has gone
either unoticed or we have done a poor job of telling you how.
So here is a quick quide. In no way should you use these numbers to be
a holy grail, they are just numbers that I use and find that they meet my
needs.
First things First. These attributes of Gold or Silver (chrome) and other
shiny metalics have almost more to do with the environment that they are in
than the color or refelction of the object. Try to imagine yourself in the
real world and understand that gold and chrome are most noticeable when they
are shown in an environment of Bright sun with lots of colors and other
items to help the attributes in a sense take hold.
For GOLD.
I make the object color Red 205, Green 205 and Blue 80.
Refelctive settings are Red 180, Green 160 and Blue 125
I use hardness at 255 and specular 255 on all guns Red Green and Blue.
If you add a intersting dithered Global brush to the Globals in the
Action editor the effect is even better.
Now the enviroment of tthat Gold likes seems to be the use of pastel or
lighter colors for Horizon and Zenith colors.
It is best to try several objects in a scene with different attribute numbers
you will then get a much better feel for what YOU like. The one problem
with Attributes is that you must decide for yourself what is GOLD or SILVER.
One mans Gold is another mans (or womans) Brass.
Chrome is almost the same.
Object color: Red 120, Green 120, Blue 160
Reflective Red, Green and Blue 140 on each
Specular 255 all Guns and Hardness 255
Last but not least, Glass.
Make the object color Black or Red Green and Blue set to 0.
Filter 255 on all guns, no reflectivity on any guns and Hardness 255, with
Specular at 255 on all guns.
So I hope this helps, or at least gives you some idea of what I use to get
the effects that many find hard to conqure. Remember I have spent many hours
trying several sets of attributes to get what I like. Chances are that if
you do the same you will find yourself with results that you appreciate.
On to more tracing....
(by Mike Halvorsen)
As I had mentioned before, for metals, it is best to make your specular
color close to your surface color. 255 on all guns will yield the
characteristic "plastic look" that standard Phong shading is known for.
The reflectivity helps but it still doesn't look like metal. For this
case, specular R = 255, G = 255, B = 160 should yield more realistic
results. This is based on the actual behavior and physical properties
of metalic materials.
(????)
-----------------------------------------------------------------------------
PATHS
No you can't use the stage editors paths for extrusion. As for your
problems with extrusions, just make sure that the object to be extruded
and the extrusion path have distinct names (and don't forget to hit
RETURN whenever you fill in a requester (the charcters will capitalize
when you do that)
(Stephen Menzies)
-----------------------------------------------------------------------------
RENDERING TIME
The list is long: reflections and refractions increase rendering time
significantly, anti-aliasing (0 longest)-btw this you must edit in
the .config file and resolve depth (also in .config file), number
of polygons, camera position (obliqueness), size of brush maps and
even the numerical entries of solid textures, resolution, display
and render modes etc etc. The big ones are refraction, edge level(anti
aliasing , reflection (along with "depth") and #of polygons. Pretty
well in that order too. Remember that a higher refraction index is
longer rendering time also.
And yes the scale of the object means a LOT. Imagine uses something called
*Octree* to calculate the scene. I no nothing about it other than the
larger the scale of the object, the faster it will render.The difference
can go from *hours* to minutes.So scale your scene big. Select everything
in the scene (including camera and lights) and scale it interactively.
Don't worry, this won't disturb your camera view or anything like that.
(Stephen Menzies)
---------------------------------------------------------------------
RESIZING OBJECTS
Mike (last name? from The Portal System) writes:
>Has anyone else noticed this bug? I took an object, a human skull,
>and wrapped a brush around it..marble..anyhow I took this object
>into the stage editor and resized the object to make it smaller than
>it was when I originally was defining it in the detail editor..when I
>went to render the scene..there appeared to be a number of *spikes*
>protruding from the skull..actually looked kinda cool..but not what
>I had in mind..anyhow I feel the problem is that when you resize an
>object in the stage editor that the points and faces are contracted..
>but the axis and any brush or attributes are *not* likewise contracted..
I encountered something similar (no "spikes" in mine though) on my
mannequin project. You MUST be careful when you resize objects in the
STAGE editor. I found that I needed to be in the GLOBAL (not LOCAL) mode
to get things to work out right. And Mike is correct with respect to the
TEXTURE attributes. I had the WOOD texture and grain nicely chosen for my
original object. When I shrunk it by a factor of 100 and rendered it, the
texture lines were gone. It turns out that all the info that is in the
EDIT TEXTURE window is unaffected by all of this shrinking or expanding.
You must change these in the DETAIL Editor. Also, if you are MORPHING one
object into another, these Details are not affected. What do I mean? I
morphed a wood object into a black GLOSSY object. As I carefully watched the
object morph animation, I saw that the BASE color of my tan wood slowly
changed into black over the 25 frames of my animation. However, the wood
GRAIN color remained constant. Then the GRAIN just 'popped' out (disappeared
from one frame to another) from frame 24 to 25. This does make some
interesting effects, but it was NOT what I wanted.
I did find a work-around for this (don't we seem to spend a lot of time finding
out how to use UNDOCUMENTED features to work around things the the DOCUMENTED
features cannot handle ;^))?? ). In the STAGE editor, I moved to FRAME 24 and
SAVED this object as OBJ.FR24 (or something like this). I loaded it into
the DETAIL editor and changed the grain color to something more reasonable
(it went from Dark Brown to black, so I just lowered the intensities on all
guns to almost black). I then went back to the STAGE editor and did the
following. I deleted my original morphing object. Then I loaded the starting
wood object into frame 1. I then loaded my OBM.FR24 into frames 2-24 with a
transition of 23 (or is it 22? I forget.). Then I loaded my FINAL black
object into frame 25. Thus, Imagine thinks it is morphing from one wood
texture to another for 24 frames and then to a solid (non-textured) surface
in frame 25. From frames 1-24, both the base color AND the grain color
morph. I suppose that I could have simply KEPT the wood texture on and
morphed from my original wood texture in frame 1 to a BLACK base color and
BLACK grain colored wood in frame 25. This would have saved me from using
3 different objects for this, but I wanted to remove the wood completely.
(Scott Sutherland)
-----------------------------------------------------------------------------
RETRACKING THE CAMERA
In the Stage editor it is possible to re-track the camera to your object
after moving the camera (or the object I assume, I didn't try it), just
hit Right Amiga-C and hit return to clear the requestor, and the camera
is now re-aligned to your object.
I had been going back to Action and doing the delete-add-track sequence
on the camera's actor bar.
(???????????)
-----------------------------------------------------------------------------
SKIN:
I've used this to create airplane wings, and the like, I start by creating
the "ribs" of the wing. copy them, size them, etc. until I have the ribs of
the wing done (much like a balsa wood model of a plane). I then multi select
all of the ribs, and select SKIN, which does exactly what you would expect.
(kevin, pawn@wpi.wpi.edu)
-----------------------------------------------------------------------------
SLICE
Create the object that you want to bore a whole through, or slice.
A sphere will be fine (primative sphere)
Create the object to do the cutting with, a cylinder to drill a hole, or a
plane to do some cutting, for example.
Place the objects over one another, aligned the may you want the SLICE to
take affect (did you understand that?)
Multi Select the two objects (order doesn't seem important) and select SLICE.
This will leave many new objects, which you can cycle through and delete the
ones that you do not need, or want. For example, slicing a sphere with a
plane will leave the bottom half of the sphere, the top half of the sphere,
a plane with a disc cut out of it, and a disc. (understand where these all
come from...)
SLICE can be used to do some very powerful things (BOOLEAN wise...)
(Kevin, pawn@wpi.wpi.edu
-----------------------------------------------------------------------------
SNAPSHOT I:
>From the stage editor, assume you have an object that has the effect of
explode. Goto the last frame of the animation (again, assuming that this
is a x-frame length animation where explode runs from frame 1 to frame x).
You will see the object is in pieces according to your description of
explode. Select the object (eg, place the cross-hairs over the object's
axis origin and click). Select snapshot. You will then be presented with
a file requestor for an object file. Type in object's_name.exploded.
Now go into detail editor and load object's_name.exploded. You will then
load the "exploded" version of the object.
(??????????)
-----------------------------------------------------------------------------
SNAPSHOT II:
I do not know about your exact situation with the STAGE editor, but let me
tell you my encounter with something similar that may help you out. I was
attempting to MORPH two objects together. I had created one of them using
the DETAIL editor, saved it, and then used the various tools in the DETAIL
editor to alter it to its final 'morphed' form. I then went to the STAGE
editor and loaded object one for one frame. Then I loaded object 2 for
frames 2-25. I looked at the FIRST and LAST frames and all looked well.
Then I chose ANIMATE to do a wire-frame preview. What I saw was that, while
my object morphed, it stretched along the X axis by ~30%. Well, I checked to
see if the final object was larger than the initial one (loaded them on top of
one another in the DETAIL editor). They were the SAME 'apparent' size.
I put apparent in quotes because this WAS my problem. I looked at frame
1 of the animation, selected the object, and checked its size. I then
looked at the final object in frame 25 and checked its size. THEY were the
SAME. However, when I looked at them in the DETAIL editor, their Y sizes
were NOT the same. I guess that the size is taken from the axes or something.
Armed with this knowledge, I went back to the STAGE editor and into the
ACTION editor. I noticed that my SIZE line for the morphed object was only
defined for FRAME 1. I selected INFO and the clicked on the object size.
I altered the FINAL frame number to 25 and tried again. I got the SAME
result as before (morphing and stretching). Finally, I went to FRAME 25 of
the morphed object's SIZE line and changed the size to the numbers given to
me in the DETAIL editor for the final object. THIS SOLVED THE PROBLEM!!!
Thus, check all initial and final sizes and play around with the object's
SIZE timeline.
As for the TRACK axis, I had similar problems. I just deleted my TRACK object
and reloaded it clicking once on the first frame of the animation and once
on the last frame to give it a timeline over the entire animation.
I hope this helps (you and anyone else having problems).
(Scott Sutherland)
-----------------------------------------------------------------------------
TEXTURE AXIS
The texture axis is the reference from which the texture algorithm calculates
its discontinuities. If you place the texture axis at 100,100,100 and are
using "checks" with cube-size of 40, then on each axis the color changes will
occur at -20, 20, 60, 100, 140, 180 etc.
If you set up a cube (or a "ground") so that it lays exactly at one of these
change planes, you'll get what they refer to as "digital bounce" which means
that the color is indeterminate and it effectively makes a random choice.
You need to offset the texture axis so that the surfaces of your object do
not lay on such change planes.
The "brick" texture isn't any more complex conceptually than "checks", it
just has more of these color planes to watch out for. For example: If your
"brick" texture is centered at 0,0,0 and has brick size of 40,40,40 and
mortar size of 10,10,10, then on the X axis there's a color change plane
at 0, 40, 50, 90, 100, 140, 150 etc.
>With the cube, axis in the exact center, where do I place the axis of the
>Texture? in the cube? out of the cube?
Since a texture extends infinitely far in all directions,this doesn't matter.
What IS important, as stated above, is to place the axis so that none of the
surfaces of the object lay exactly on any color-change plane.
> Maybe I should move the axis of he cube?
The axis of the texture is kept relative to the axis of the cube, so moving
the cube won't cause manifestation of the texture to change.
> How big should I scale the Texture, does this matter at all?!
You should scale the texture to make the result look the way you want. For
instance, you need to make sure you don't make it too large, or else your
cube might end up being one big brick - which is rather pointless. Equally,
if you make the texture too small, your cube might become a hundred million
tiny bricks, which is equally pointless.
(??????????????)
-----------------------------------------------------------------------------
WORLD SIZE
So THAT's how you change the world size! The size requester in the
Globals section!!!!! Is this true? I'm gonna play with it, but has
anytbody else found this?-
-----------------------------------------------------------------------------
WORLEY PROJECT ONE (Way Cool Image Idea of Steve Worley)
This was way-cool! Try it.
Get an object. A sphere will do, but whatever you want.
FLAT map a brush onto it. Make sure the brush Y axis is bigger than the
object, make sure the object just fits in the positive x positive z quadrant.
Go to "transform axis" in the brush requestor, select "size", then write down
the x & z scalings.
Make a plane. Map the same brush on it. Use transform to get the same size.
make sure the plane's size is at least as large as the brush.
Go to the stage editor.
Put the object DIRECTLY behind the plane. Orientation and position are
critical- you want the brush maps to line up. [They're the same size.].
Put the camera on a 45 degree view so you don't have a dead on shot.
Make a path that moves the object straight THROUGH the plane, for about 20
frames.
Animate it!
Here's what you'll see. You'll see a flat picture slowly take on a three-d
form, "extruding" exself into a third dimension. The join between plane
and object is indetectable because the brush maps are identical.
This effect is REALLY cool, though you have to be careful to line everything
up right. Use "transform" to set position and orientation of the
objects and their maps exactly if you're having trouble.
You can render this in scanline- it doesn't need trace.
You could make a room with a framed picture (I have a REALLY nice picture
frame) with a picture of something on it. Camera moves to an oblique view,
zooms in a little, picture starts "extruding." Maybe out a little, then back,
then out then back, then finally, the object finally makes it all the way
out (and the picture behind has a new brush map without the object!). Then
the released thing (whatever!) could explore the "Real World". An idea. Run
with it if you like, post how it goes.
(steve worley, of course!)
------------------------------------------------------------------------
WORLEY PROJECT TWO
I've been working on an animation that seems to be coming out
very nicely- there's a couple of techniques dealing with brushes
that people might find very useful.
I created a still first. It started as a "mirrored balls on a checkerboard"
setup, with the centerpiece being a big, black, glossy sphere with
a picture of me "trapped" inside the sphere. Later I turned it into
an animation with the camera moving about so that you could see the
different sides. It looked cool- the real goal was to see how well
a "traditional" mirror & glass sphere populated plain would look.
It turned out so well that I changed the animation to a still camera
and having the ball roll around the scene, in front of mirror-balls
and in back of glass balls to see the neat effects. [Remember the
long transparency essay I wrote? I was tweaking the crystal spheres
for this anim.] Making the ball roll was a trick. How do you get
something to roll (at the right speed!) while following a path? Getting
it to spin (like a plane doing a barrel roll) is easy- you align to
path, then set Y rotation to be from 0 to 360 and it will do a complete
spin. This is not in the right direction for a rolling ball, though.
[Annoying feature- you can't say from 0 to 720 for two spins,
or 0 to 3600 for ten.] To get it to roll I created a second path, which
was basically a larger copy of the first, so the first path was
just inside of the second path. I had an axis (a track) follow this
new, outside path, then used "align to object" to make the sphere point
to the axis. Thus, as the ball moved along its path, one end (the positive
Y axis direction) was always pointed at right angles to the direction
of motion. Is this clear? Now using the "initial Y angle" and "final Y
angle" I set them to 0 and 360 and it rotated as it rolled. As a special
effect, I raised the "track path" a little in the Z direction so the
sphere looks a little bit like a top rolling around, since the spin
axis was not horizontal anymore.
An alternative would be to make a cycle object, rolling around the X axis.
This is equally valid, but I did it this way first.
The picture of me on the sphere was pretty easy. I used Digi-View
to take a picture of me with a scared/concerned expression and
my hands palm forward outstretched a little. I stood in front of a
clean, white background. I saved the pic as an IFF24 picture from Digi-
View, and used The Art Department to balance it. Digi-view's balancing
controls are fine- TAD has a couple of nice features, though, like
scaling and especially gamma correction, which increases contrast by
expanding color scales. (I'll explain if someone wants me to.) I saved
the pic as a 900x600 16 color IFF, then loaded it into Deluxe Paint III.
Deluxe Paint is a wonderful program, and has no objection to loading large
IFFs. I touched up a couple scanning artifacts with the smooth and blend
tools, then removed the background. To do this, I first used the filled
rectangle tool to fill in the big, easy to clear spots of background
(a wall in my case). I then used the stencil (frisket to you Disney
folks) to let only the brightest few whites be changable. A pass or two with
a big brush along the edge of my body, and woosh- the background was gone.
I then added a new background ( a grid of white lines) by picking my body
up as a brush and stamping it on a grid I made on the spare page. I saved
the picture, and I was done!
Imagine does not care what size the picture it maps is- they all get normalized
to the brush-axis dimension. Thus, my LARGE picture was of significantly
better quality than just a screenful. Optimally, if I had a 24 bit paint
program, like the Firecracker paint program, Colorburst's paint program,
or Toasterpaint, this would have given the highest quality output. Anyone
want to give me a Colorburst?
Wrapping is an art, and everyone should read Mike Halvorson's brush-wrapping
posted about 2 weeks ago. Its pretty good, though he mis-describes Y axis
functionality in wrap-wraps, but not in flat-flats (though maybe I'm wrong).
Luckily, wrapping spheres is a snap- you can't screw up as long as your brush's
Y axis is smaller than the radius, and the axis is centered. Complex shapes are
much more difficult, and best described in another post sometime. [Like after
I can do them consistantly!]
Anyway, the result mapped onto the sphere looks real cool. The grid wraps
around the sphere like longitude/latitude lines, and I was smart and made
my grid match up from one side to the other. This made the join on the back
of the sphere look UTTERLY undetectable, so it isn't obvious this is a flat
object wrapped onto a curve.
I rendered this 80 frame anim over about 6 days, (hires raytrace) and
it was beautiful! The glass in particular looked sleek. I then wanted to
spiff it up even more, so I added a glass arch (half a stretched torus) for
the prison-sphere to roll though, and I animated myself on the sphere.
How did I animate myself on the sphere?? This is a VERY useful trick, and
I learned it long before I had Imagine, when I was into DPaint anims. What I
did was I took a camera and VIDEOTAPED myself kinda waving my hands around
like a mime (the invisible wall in front of me, palms outward)
with the concerned/scared look on my face. After a few takes, I thought I had
the right feel, so I booted my 3000 [well, sat down in front of it- its
always on!] and started Digiview.
Time out: IMPORTANT! Digiview DOES work on a 3000- you must use 'CPU
nocache noburst' before you start Digiview, or it will die! I almost sold
my DV until I said "hmm. I'll try one more time. What if I .." and it worked.
Anyway, I played the tape and freeze-framed on the start of the part I liked.
YOU CAN'T USE A CHEESY 2-HEAD VCR! You need good stills. I digitized a frame,
then spent a good 10 minutes perfecting the balances. [I didn't use TAD because
it would have been a pain saving all the frames (1/2 meg each!) and loading/
balancing/saving them again. ADPro has an AREXX interface, and so does
Digi-view. This would have been an IDEAL application of AREXX!] Once I had
the balance perfected, I re-digitized, balanced, and saved the picture as
'steve001'. The 001 is important- if you save it as 'steve1' it will be
a bit harder to load into DPAINT. [You'll see!] I then forwarded 3 frames,
and digitized, and saved as 'steve002'. I did this for 40 frames. Yes, its
mind-numbing, but really only takes half an hour, and you can be listening
to tunes or talking on the phone or whatever.
Finally, I started DPaint, and blessed my extra RAM. I went into 'load
picture', selected file 'steve001' and at the bottom of the name requester,
entered '40 frames'. Dpaint then loaded the next 40 frames (alphabetically)
as an anim. See why we have steve001? It loads steve001 to steve0040
correctly. If I used 'steve1' the order would be steve1,steve10, steve11,
... steve19, steve2, steve20 and so on.
OK, I have an anim. I play it, and voila! There I am, looking like a person
acting like he's trapped in a sphere! :-) The quality of this method is
SURPRISINGLY good. Try it- even if you don't use Imagine. It's lots of fun!
320 by 400 animates faster if you're not doing it for Imagine, but just
want to muck around. [well worth it!] Here's an idea- tape yourself throwing
and catching a volleyball, then digitize your best friend. Remove his or her
head as a brush, then paste a copy of the head on top of the ball in every
frame of your anim. Voila! Macabre juggling! Works really well if they're
smiling.
Back to the Imagine anim. I digitized in hi-res for quality- it doesn't
animate as well in DPaint (more bandwith -> slower anims) but for our
purposes this makes no difference at all. I cleaned out the background
for all the frames by using "anim-painting"- holding down the left-amiga
as you paint. [3000 owners, you might have to change the WB prefs- this
is the default way to drag screens] By using big brushes for the easy stuff,
then stencils, a smaller brush, and a much slower pace for the edges near my
body, I removed the background from all the frames.
I picked up my body as an animbrush, then anim-painted onto a 40 frame anim
of a stationary grid. I then used "save picture" [NOT anim!] and saved 40
frames as stevebg.. DPaint is smart, and makes stevebg001, stevebg002,... and
so on.
Now what? To Imagine! I call up my project, which currently has a static
brush on the sphere. If I were starting from scratch, I would render the anim
in HAM scanline to insure the pacement of the brush and feel of the anim.
Once you animate the brush, it is not a trivial matter to change its position
on the object you're wrapping.
However, I have already done a static test. I know that my brush is in a good
position- I'm upright and centered just as I pass the camera- a good shot. I
then went into the detail editor and loaded sphere.iob [my _I_magine _OB_ject]
and entered the attributes selector, and select the brush map already there. I
changed the picture filename in the gadget to say 'stevebg.001' and exited and
saved the object as sphere001.iob. I then went back to the brush name, changed
it to 'stevebg002' and saved the sphere as sphere002.iob. Note there is no need
to RELOAD the sphere- I just save it. This goes by VERY fast once you get
started, and I had 40 objects in 5 minutes. Also, every sphere has the same
attributes and same brush position, etc. The only thing to change (the only
thing TO change) is the name of the brushmap.
To the stage editor! I already had my rolling sphere set up- remember, I
did a static version before that looked good. I deleted the "actor" that was
my sphere, keeping the position and alignment that were already there.
I then added a new actor from frame 1 to frame 1 called sphere001.iob.
I then added a new actor from frame 2 to frame 2 called sphere002.iob.
I then added a new actor from frame 3 to frame 3 called sphere003.iob.
I then added a new actor from frame 4 to frame 4 called sphere004.iob.
.....
I then added a new actor from frame 40 to frame 40 called sphere040.iob.
I then added a new actor from frame 41 to frame 41 called sphere041.iob.
....
and so on. My anim was such that my repetive motion made a pretty clean
transition from beginning to end [in DPaint] so repeating it looked all
right. If not, ping-ponging would have worked [instead of 1 2 3 4 1 2 3 4
1 ... it goes 1 2 3 4 4 3 2 1 1 2 ...] Also, I made sure the best views
(by the camera) didn't have a transition, anyway. Entering the 80 objects
again is boring, but the file requestor is fast enough (and has last file
defaults!) so it only took 10 minutes. Alternatively, it might have been
neat to see what morphs would do- this would fade out one frame while bringing
in the next (I think) and might be worth trying sometime. This would be done
by changing the object every other frame (or even less often) and setting the
# of transition frames to 1 or more.
Well, thats it! The ray-traced anim is rendering now- the scanline version
showed me waving around just fine, and it really looked smooth! I thought
that people might like to try this technique- its roundabout, but the
results are worth it!
A note- Animation Journeyman (another renderer) supports animbrushes... must
be nice, though I haven't seen it.
If anyone wants me to clarify anything I'll be happy to. This little
essay has grown a bit in length... :-) I won't be able to post the final
anim, its HUGE!, as is the project itself (40 pictures, > 40 objects..)
though I might put a still or two on ab20 if people want me to.
Keep on rendering!
-Steve Worley
============================= end of file ===================================